<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        //下面的函数是一个生成器函数，用于创建生成器
        function* createGenerator() {
            console.log("生成器函数的函数体 - 开始");
            let result = yield 1; //将1作为第一次的迭代的值
            console.log("生成器函数的函数体 - 运行1", result);
            result = yield 2; //将2作为第二次迭代的值
            console.log("生成器函数的函数体 - 运行2", result);
            result = yield 3;
            console.log("生成器函数的函数体 - 运行3", result);
            return "结束";
        }

        var generator = createGenerator(); //调用后，一定得到一个生成器

        var result = generator.next(); //{value:1, done:false}
        while (!result.done) {
            //有迭代的值
            result = generator.next(result.value);
        }
    </script>
</body>

</html>
